home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pine / pine3.07 / pico / ebind.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-19  |  4.6 KB  |  162 lines

  1. /*
  2.  * Program:    Default key bindings
  3.  *
  4.  * Modifier:    Michael Seibel
  5.  *        Networks and Distributed Computing
  6.  *        Computing & Communications
  7.  *        University of Washington
  8.  *        Administration Building, AG-44
  9.  *        Seattle, WA  98195
  10.  *        Internet: mikes@cac.washington.edu
  11.  *
  12.  * Date:    19 Jan 1991
  13.  * Last Edited:    17 Jan 1992
  14.  *
  15.  * Copyright 1991 by the University of Washington
  16.  *
  17.  *  Permission to use, copy, modify, and distribute this software and its
  18.  * documentation for any purpose and without fee is hereby granted, provided
  19.  * that the above copyright notice appears in all copies and that both the
  20.  * above copyright notice and this permission notice appear in supporting
  21.  * documentation, and that the name of the University of Washington not be
  22.  * used in advertising or publicity pertaining to distribution of the software
  23.  * without specific, written prior permission.  This software is made
  24.  * available "as is", and
  25.  * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  26.  * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  27.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  28.  * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  29.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  30.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  31.  * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  32.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  33.  *
  34.  *
  35.  * NOTES:
  36.  *
  37.  *    This files describes the key bindings for pico and the pine 
  38.  *      composer.  The binds are static, (i.e., no way for the user
  39.  *      to change them) so as to keep pico/composer as simple to use
  40.  *      as possible.  This, of course, means the number of functions is
  41.  *      greatly reduced, but, then again, this is seen as very desirable.
  42.  *
  43.  *      There are very limited number of flat ctrl-key bindings left, and 
  44.  *      most of them are slated for yet-to-be implemented functions, like
  45.  *      invoking an alternate editor in the composer and necessary funcs
  46.  *      for imlementing attachment handling.  We really want to avoid 
  47.  *      going to multiple keystroke functions. -mss
  48.  *
  49.  */
  50.  
  51. /*    EBIND:        Initial default key to function bindings for
  52.             MicroEMACS 3.2
  53.  
  54.             written by Dave G. Conroy
  55.             modified by Steve Wilhite, George Jones
  56.             greatly modified by Daniel Lawrence
  57. */
  58.  
  59. #ifndef    EBIND_H
  60. #define    EBIND_H
  61.  
  62.  
  63. /*
  64.  * Command table.
  65.  * This table  is *roughly* in ASCII order, left to right across the
  66.  * characters of the command. This expains the funny location of the
  67.  * control-X commands.
  68.  */
  69. KEYTAB  keytab[NBINDS] = {
  70.     {K_PAD_UP,        backline},
  71.     {K_PAD_DOWN,        forwline},
  72.     {K_PAD_RIGHT,        forwchar},
  73.     {K_PAD_LEFT,        backchar},
  74.     {K_PAD_PREVPAGE,    backpage},
  75.     {K_PAD_NEXTPAGE,    forwpage},
  76.     {K_PAD_HOME,        gotobob},
  77.     {CTRL|'A',        gotobol},
  78.     {CTRL|'B',        backchar},
  79.     {CTRL|'C',        abort_composer},
  80.     {CTRL|'D',        forwdel},
  81.     {CTRL|'E',        gotoeol},
  82.     {CTRL|'F',        forwchar},
  83.     {CTRL|'G',        whelp},
  84.     {CTRL|'H',        backdel},
  85.     {CTRL|'I',        tab},
  86.     {CTRL|'J',        fillpara},
  87.     {CTRL|'K',        killtext},
  88.     {CTRL|'L',        refresh},
  89.     {CTRL|'M',        newline},
  90.     {CTRL|'N',        forwline},
  91.     {CTRL|'O',        suspend_composer},
  92.     {CTRL|'P',        backline},
  93.     {CTRL|'R',        insfile},
  94. #ifdef    SPELLER
  95.     {CTRL|'T',        spell},
  96. #endif    /* SPELLER */
  97.     {CTRL|'U',        yank},
  98.     {CTRL|'V',        forwpage},
  99.     {CTRL|'W',        forwsearch},
  100.     {CTRL|'X',        wquit},
  101.     {CTRL|'Y',        backpage},
  102. #ifdef    JOB_CONTROL
  103.     {CTRL|'Z',        bktoshell},
  104. #endif
  105.     {CTRL|'@',        forwword},
  106. #ifdef    JOB_CONTROL
  107.     {CTRL|'_',        alt_editor},
  108. #endif
  109.     {0x7F,            backdel},
  110.     {0,            NULL}
  111. };
  112.  
  113.  
  114. /*
  115.  * Command table.
  116.  * This table  is *roughly* in ASCII order, left to right across the
  117.  * characters of the command. This expains the funny location of the
  118.  * control-X commands.
  119.  */
  120. KEYTAB  pkeytab[NBINDS] = {
  121.     {K_PAD_UP,        backline},
  122.     {K_PAD_DOWN,        forwline},
  123.     {K_PAD_RIGHT,        forwchar},
  124.     {K_PAD_LEFT,        backchar},
  125.     {K_PAD_PREVPAGE,    backpage},
  126.     {K_PAD_NEXTPAGE,    forwpage},
  127.     {K_PAD_HOME,        gotobob},
  128.     {CTRL|'A',        gotobol},
  129.     {CTRL|'B',        backchar},
  130.     {CTRL|'C',        showcpos},
  131.     {CTRL|'D',        forwdel},
  132.     {CTRL|'E',        gotoeol},
  133.     {CTRL|'F',        forwchar},
  134.     {CTRL|'G',        whelp},
  135.     {CTRL|'H',        backdel},
  136.     {CTRL|'I',        tab},
  137.     {CTRL|'J',        fillpara},
  138.     {CTRL|'K',        killtext},
  139.     {CTRL|'L',        refresh},
  140.     {CTRL|'M',        newline},
  141.     {CTRL|'N',        forwline},
  142.     {CTRL|'O',        filewrite},
  143.     {CTRL|'P',        backline},
  144.     {CTRL|'R',        insfile},
  145. #ifdef    SPELLER
  146.     {CTRL|'T',        spell},
  147. #endif    /* SPELLER */
  148.     {CTRL|'U',        yank},
  149.     {CTRL|'V',        forwpage},
  150.     {CTRL|'W',        forwsearch},
  151.     {CTRL|'X',        wquit},
  152.     {CTRL|'Y',        backpage},
  153. #ifdef    JOB_CONTROL
  154.     {CTRL|'Z',        bktoshell},
  155. #endif
  156.     {CTRL|'@',        forwword},
  157.     {0x7F,            backdel},
  158.     {0,            NULL}
  159. };
  160.  
  161. #endif    /* EBIND_H */
  162.